/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package engine;

/**
 * Interfejs osobnika
 * @author Bartek
 */
public interface SpecInterface {
    /**
     * Pobiera geny
     * @param searchGene wartość wyszukiwana
     * @return wartość zwracana
     */
    byte getGene(byte searchGene);
     /**
      * Ustaw geny
      * @param searchGene wartość szukana
      * @param color nowa wartość
      * @return wartość zwracana po zmiania
      */
     byte setGene(byte searchGene, byte color);
     /**
      * Optymalizacja kolorowania
      */
     void optimizeColors();
     /**
      * Liczba kolorów
      * @return liczba
      */
     byte colorCount();
     /**
      * Pobierz DNA
      * @return tablica DNA
      */
     byte[][] getDNA();
     /**
      * Adopcja
      * @return wartość adopcji
      */
     int getAdaptation();
     /**
      * Poprawność osobnika
      * @return true/false poprawny/niepoprawny
      */
     boolean isValid();
     /**
      * Zmiana ratio adaptacji
      */
     void refreshAdaptationRatio();
}
